class Estado < ActiveRecord::Base

  has_many :municipios

  validates_presence_of :nome
  validates_format_of :codigo, :with => /\A\d{2}\Z/, :message => "precisa ser um numero com 2 digitos"
  validates_format_of :uf, :with => /\A[a-z]{2}\Z/i, :message => "precisa conter 2 letras"

  def before_validation
    self.uf.try(:upcase!)
  end

  def before_destroy
    unless municipios.empty?
      errors.add_to_base "Impossível remover. Ainda existem municípios associados a este estado."
      false
    end
  end

end
